Modem word processing approaches have evolved from traditional text concepts, such as line width (or page width minus left and right margins), line height (generally expressed as font size in points) and line spacing (generally expressed as single, double or triple line spacing). In virtually all word processing programs these parameters control the presentation of text, and this approach has sufficed for many uses. Line spacing in the vertical direction is thus limited to individual settings of font size and line spacing intervals. When graphic objects (such as graphics, photos, formulae, and the like) are introduced into a text field, some word processing programs react by defining an object space that is equal to an integer multiple of the line spacing set for the text field. This spacing may be awkward or inapt, given that the preset line spacing may not permit balanced spacing above and below the object, or may be too great or too small in proportion to the object size. Text wrap functions are present in some applications that allow a lateral spacing effect in which the text lines approach to within a minimum preset lateral distance to the graphic object.
However, the advent of page layout systems, graphic programs, and the like have complicated the task of spacing objects onscreen. Some graphic programs enable spacing objects by selecting them and activating a spacing function that creates equal spacing of the objects, in either Cartesian direction. These functions generally do not work well, or at all, with mixed text objects and graphic objects, nor do they enable spacing a graphic object among the lines of a text object. Nor are these applications capable of respacing a collection of graphic objects when one of them is resized or moved, without first reselecting the group and commanding a new spacing routine. Nor are they capable of respacing lines of text when an interposed graphic object is resized. Thus the prior art software applications are limited in their functions and usefulness.
Another problematic aspect of graphics application involves multiple onscreen objects and more specifically a situation in which multiple objects are positioned and depicted one atop the other. The general rule is that the object currently occupying the uppermost layer (virtual vertical position) in the depiction is available to be selected and moved or otherwise activated by positioning the cursor and clicking on the topmost object. However, it is often the case that the user may wish to select an onscreen object below the topmost object, and can visualize the desired object in the depiction, yet cannot select it because of the presence of a superjacent object. Generally, there is no way to provide “touch transparency” in prior art graphics programs. “Touch transparency” is defined herein as the ability of an onscreen object in a vertical arrangement of multiple objects to transfer any mouse click thereon to an onscreen object below it (subjacent in the vertical order of the multiple objects). Rather, the user must adjust the layering of objects and groupings of objects, using UP/DOWN commands in a pulldown menu or manipulating the numerical order of the vertical arrangement. These techniques are awkward and time-consuming, making it difficult to establish the vertical ordering that yields the desired depiction and desired selection.
Another problematic aspect of conventional word processing or graphics programs is that a graphic object of an electronic document typically “jumps” to an adjacent page, which can be previous or subsequent page, when that graphic object is moved across a page break due to editing of the electronic document, such as adding or deleting of text. This causes havoc on the layout of the electronic document, since the jumping of the graphic object causes text and other graphic objects to be moved by the same distance, which significantly modifies the document layout. Furthermore, the jumping of the first graphic object may cause other graphic objects to “jump” as well, which further causes the layout of the electronic document to be modified.
In view of these concerns, there is a need for a method and system for editing an electronic document of text and graphic objects that allows a user more control with respect to the layout of the electronic document.